package cn.com.pansky.action.myaccount;

import java.util.List;

import net.vsame.url2sql.action.CommonAction;
import net.vsame.url2sql.helper.SqlHelper;
import net.vsame.url2sql.sql.Model;
import cn.com.pansky.util.ProtectUtil;

public class BankCardAction extends CommonAction {
	/**
	 * 根据用户ID获取用户所有的银行卡
	 */
	public void getCardList() {
		Model user = (Model)context.getServletSession().getAttribute("user"); 
		String phoneNo = user.getString("AA032"); // 取得登录用户手机号
		String sql = urlConfig.getVar("queryRC10ByPhoneNo");
		Model model = SqlHelper.queryOne(sql, phoneNo);
		// 根据用户ID获取所有的银行卡
		String sql1 = urlConfig.getVar("queryCardByUserId");
		List<Model> modelList = SqlHelper.query(sql1, model.getString("AA001"));
		
		//将银行卡号加密
		for (int i = 0; i < modelList.size(); i++) {
			String AG014 = modelList.get(i).getString("AG014");
			AG014 = ProtectUtil.help2(AG014);
			modelList.get(i).remove("AG014");
			modelList.get(i).add("AG014", AG014);
		}
		
		context.put("result", modelList);
	}
	
	/**
	 * 绑定银行卡，保存账户信息
	 */
	public void bankInfoSave() throws Exception{
		String name = getParam("AG013");// 持卡人
		String cardType = getParam("AA031"); // 账户类型
		String cardNo = getParam("AG014");// 账号
		Model user = (Model)context.getServletSession().getAttribute("user"); 
		String aa032 = user.getString("AA032");// 登录用户手机号
		// 根据登录用户手机号取得用户ID
		String sql1 = urlConfig.getVar("queryRC10ByPhoneNo");
		Model model = SqlHelper.queryOne(sql1, aa032);
		
		String queryRA05 = urlConfig.getVar("queryRA05");
		Model m = SqlHelper.queryOne(queryRA05, model.getString("AA001"),cardNo);
		if (null != m) {
			datas.put("isPass", false);
			datas.put("info", "该银行卡已添加");
		} else {
			// 保存我的银行卡信息
			String sql = urlConfig.getVar("bankCardSave");
			SqlHelper.execute(sql, model.getString("AA001"),cardType,name,cardNo,aa032);
			datas.put("isPass", true);
			datas.put("info", "添加成功");
		}
	}
	
	/**
	 * 删除我的银行卡
	 */
	public void delCardById() {
		String sql = urlConfig.getVar("delCardById");
		int count = SqlHelper.execute(sql);
		datas.put("isPass", count > 0?true:false);
	}
}
